
import random
# print(random.randint(1, 100))
# i = 0
# lst = []
# #print(random.choice([0, 1]))
# while i <= 1:
#     a = random.randint(1, 100)
#     lst.append(a)  #lst.append没有返回值  错误写法：lst = lst.append(a)
#     i = i+1


# if len(lst) % 2 == 1:
#     print(type(len(lst)))
#     a = len(lst) - 1
#     print(a)
#     c =int(a/2)#c为中间下标，传进去的下标必须是整型
#     print(int(c))
#     d = lst[c]#获取中间下标对应的数
#     print(lst[c])#获取到中间的数

lst = [3, 5, 1, 6, 7, 34, 9, 6, 8]
a = int(input("请输入一个数"))
i = 0
#print(len(lst))
while i < len(lst)-2 :#外层while

              j = i + 1
              #i=0,j<=len(lst)-1
              while j <= len(lst)-1:#内层while

                      if a ==  lst[i] + lst[j]:
                         break
                      else:
                         j = j+1#当遍历时到最后一个下标时，j会加1，此时超过列表的下标范围
              if j == len(lst) :
                  j = j - 1#所以这里j需要-1
              if a == lst[i] + lst[j]:
                  print(f"可以找到这个数下标为{i},{j}，对应的数为{lst[i],lst[j]}")
                  break#已经找到，跳出内层while


              i = i + 1#外层while的遍历

              if i == len(lst) - 2  and  j == len(lst) -1 :#若已经在最后了，但最后两个未判断，可以得出结果：未找到
                     print("未找到对应的两个数")
                     break

if lst[len(lst)-2] + lst[len(lst)-1] == a:#对最后两个进行判断。存在bug，当最后两个数的和，与列表中间两个数的和冲突，会重复输出 如输入：14
    print(f"可以找到这个数下标为{len(lst)-2},{len(lst)-1}，对应的数为{lst[len(lst)-2],lst[len(lst)-1]}")






